home *** CD-ROM | disk | FTP | other *** search
/ Aminet 2 / Aminet AMIGA CDROM (1994)(Walnut Creek)[Feb 1994][W.O. 44790-1].iso / Aminet / util / gnu / groff_src.lha / Groff-1.07 / configure.amiga < prev    next >
Text File  |  1993-03-26  |  25KB  |  1,040 lines

  1. #!/bin/sh
  2. # Guess values for system-dependent variables and create Makefiles.
  3. # Generated automatically using autoconf.
  4. # Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc.
  5.  
  6. # This program is free software; you can redistribute it and/or modify
  7. # it under the terms of the GNU General Public License as published by
  8. # the Free Software Foundation; either version 2, or (at your option)
  9. # any later version.
  10.  
  11. # This program is distributed in the hope that it will be useful,
  12. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. # GNU General Public License for more details.
  15.  
  16. # You should have received a copy of the GNU General Public License
  17. # along with this program; if not, write to the Free Software
  18. # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  19.  
  20. # Usage: configure [--srcdir=DIR] [--host=HOST] [--gas] [--nfp] [--no-create]
  21. #        [--prefix=PREFIX] [--exec-prefix=PREFIX] [--with-PACKAGE] [TARGET]
  22. # Ignores all args except --srcdir, --prefix, --exec-prefix, --no-create, and
  23. # --with-PACKAGE unless this script has special code to handle it.
  24.  
  25.  
  26. for arg
  27. do
  28.   # Handle --exec-prefix with a space before the argument.
  29.   if test x$next_exec_prefix = xyes; then exec_prefix=$arg; next_exec_prefix=
  30.   # Handle --host with a space before the argument.
  31.   elif test x$next_host = xyes; then next_host=
  32.   # Handle --prefix with a space before the argument.
  33.   elif test x$next_prefix = xyes; then prefix=$arg; next_prefix=
  34.   # Handle --srcdir with a space before the argument.
  35.   elif test x$next_srcdir = xyes; then srcdir=$arg; next_srcdir=
  36.   else
  37.     case $arg in
  38.      # For backward compatibility, also recognize exact --exec_prefix.
  39.      -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* | --exec=* | --exe=* | --ex=* | --e=*)
  40.     exec_prefix=`ln_to_echo $arg | sed 's/[-a-z_]*=//'` ;;
  41.      -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- | --exec | --exe | --ex | --e)
  42.     next_exec_prefix=yes ;;
  43.  
  44.      -gas | --gas | --ga | --g) ;;
  45.  
  46.      -host=* | --host=* | --hos=* | --ho=* | --h=*) ;;
  47.      -host | --host | --hos | --ho | --h)
  48.     next_host=yes ;;
  49.  
  50.      -nfp | --nfp | --nf) ;;
  51.  
  52.      -no-create | --no-create | --no-creat | --no-crea | --no-cre | --no-cr | --no-c | --no- | --no)
  53.         no_create=1 ;;
  54.  
  55.      -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
  56.     prefix=`ln_to_echo $arg | sed 's/[-a-z_]*=//'` ;;
  57.      -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
  58.     next_prefix=yes ;;
  59.  
  60.      -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=* | --s=*)
  61.     srcdir=`ln_to_echo $arg | sed 's/[-a-z_]*=//'` ;;
  62.      -srcdir | --srcdir | --srcdi | --srcd | --src | --sr | --s)
  63.     next_srcdir=yes ;;
  64.  
  65.      -with-* | --with-*)
  66.        package=`ln_to_echo $arg|sed 's/-*with-//'`
  67.        # Delete all the valid chars; see if any are left.
  68.        if test -n "`ln_to_echo $package|sed 's/[-a-zA-Z0-9_]*//g'`"; then
  69.          ln_to_echo "configure: $package: invalid package name" >&2; exit 1
  70.        fi
  71.        eval "with_`ln_to_echo $package|sed s/-/_/g`=1" ;;
  72.  
  73.      *) ;;
  74.     esac
  75.   fi
  76. done
  77.  
  78. trap 'rm -f conftest* core; exit 1' 1 3 15
  79.  
  80. rm -f conftest*
  81. compile='${CC-cc} $DEFS conftest.c -o conftest $LIBS >/dev/null 2>&1'
  82.  
  83. # A filename unique to this package, relative to the directory that
  84. # configure is in, which we can look for to find out if srcdir is correct.
  85. unique_file=groff/groff.cc
  86.  
  87. # Find the source files, if location was not specified.
  88. if test -z "$srcdir"; then
  89.   srcdirdefaulted=yes
  90.   # Try the directory containing this script, then `..'.
  91.   prog=$0
  92.   confdir=`ln_to_echo $prog|sed 's%/[^/][^/]*$%%'`
  93.   test "X$confdir" = "X$prog" && confdir=.
  94.   srcdir=$confdir
  95.   if test ! -r $srcdir/$unique_file; then
  96.     srcdir=..
  97.   fi
  98. fi
  99. if test ! -r $srcdir/$unique_file; then
  100.   if test x$srcdirdefaulted = xyes; then
  101.     ln_to_echo "configure: Can not find sources in \`${confdir}' or \`..'." 1>&2
  102.   else
  103.     ln_to_echo "configure: Can not find sources in \`${srcdir}'." 1>&2
  104.   fi
  105.   exit 1
  106. fi
  107. # Preserve a srcdir of `.' to avoid automounter screwups with pwd.
  108. # But we can't avoid them for `..', to make subdirectories work.
  109. case $srcdir in
  110.   .|/*|~*) ;;
  111.   *) srcdir=`cd $srcdir; pwd` ;; # Make relative path absolute.
  112. esac
  113.  
  114. if test -z "$prefix"
  115. then
  116.   ln_to_echo checking for grops to derive installation directory prefix
  117.   saveifs="$IFS"; IFS="$IFS:"
  118.   for dir in $PATH; do
  119.     test -z "$dir" && dir=.
  120.     if test $dir != . && test -f $dir/grops; then
  121.       # Not all systems have dirname.
  122.       prefix=`ln_to_echo $dir|sed 's%/[^/][^/]*$%%'`
  123.       break
  124.     fi
  125.   done
  126.   IFS="$saveifs"
  127. fi
  128. if test -z "$prefix"
  129. then
  130.   ln_to_echo checking for gcc to derive installation directory prefix
  131.   saveifs="$IFS"; IFS="$IFS:"
  132.   for dir in $PATH; do
  133.     test -z "$dir" && dir=.
  134.     if test $dir != . && test -f $dir/gcc; then
  135.       # Not all systems have dirname.
  136.       prefix=`ln_to_echo $dir|sed 's%/[^/][^/]*$%%'`
  137.       break
  138.     fi
  139.   done
  140.   IFS="$saveifs"
  141. fi
  142.  
  143. if test -z "$CC"; then
  144.   ln_to_echo checking for gcc
  145.   saveifs="$IFS"; IFS="${IFS}:"
  146.   for dir in $PATH; do
  147.     test -z "$dir" && dir=.
  148.     if test -f $dir/gcc; then
  149.       CC="gcc"
  150.       break
  151.     fi
  152.   done
  153.   IFS="$saveifs"
  154. fi
  155. test -z "$CC" && CC="cc"
  156.  
  157. # Find out if we are using GNU C, under whatever name.
  158. cat > conftest.c <<EOF
  159. #ifdef __GNUC__
  160.   yes
  161. #endif
  162. EOF
  163. ${CC-cc} -E conftest.c > conftest.out 2>&1
  164. if egrep yes conftest.out >/dev/null 2>&1; then
  165.   GCC=1 # For later tests.
  166. fi
  167. rm -f conftest*
  168.  
  169. cc_compile='$CCC conftest.cc -o conftest $CCLIBS $LIBS >/dev/null 2>&1'
  170.  
  171. if test -z "$CCC"; then
  172. # See whether the C compiler is also a C++ compiler.
  173. ln_to_echo checking if C compiler is also a C++ compiler
  174. cat <<EOF > conftest.cc
  175. #ifdef __cplusplus
  176.   yes
  177. #endif
  178. EOF
  179. $CC -E conftest.cc >conftest.out 2>&1
  180. if egrep yes conftest.out >/dev/null 2>&1; then
  181.   CCC="$CC"
  182. fi
  183. fi
  184. if test -z "$CCC"; then
  185.   ln_to_echo checking for g++
  186.   saveifs="$IFS"; IFS="${IFS}:"
  187.   for dir in $PATH; do
  188.     test -z "$dir" && dir=.
  189.     if test -f $dir/g++; then
  190.       CCC="g++"
  191.       break
  192.     fi
  193.   done
  194.   IFS="$saveifs"
  195. fi
  196. test -z "$CCC" && CCC=""
  197.  
  198. if test -z "$CCC"; then
  199.   ln_to_echo checking for CC
  200.   saveifs="$IFS"; IFS="${IFS}:"
  201.   for dir in $PATH; do
  202.     test -z "$dir" && dir=.
  203.     if test -f $dir/CC; then
  204.       CCC="CC"
  205.       break
  206.     fi
  207.   done
  208.   IFS="$saveifs"
  209. fi
  210. test -z "$CCC" && CCC=""
  211.  
  212. if test -z "$CCC"; then
  213.   ln_to_echo checking for cc++
  214.   saveifs="$IFS"; IFS="${IFS}:"
  215.   for dir in $PATH; do
  216.     test -z "$dir" && dir=.
  217.     if test -f $dir/cc++; then
  218.       CCC="cc++"
  219.       break
  220.     fi
  221.   done
  222.   IFS="$saveifs"
  223. fi
  224. test -z "$CCC" && CCC=""
  225.  
  226. if test -z "$CCC"; then
  227. cat <<EOM
  228. This package requires a C++ compiler, but I couldn't find one.
  229. Set the environment variable CCC to the name of your C++ compiler.
  230. EOM
  231. rm -f conftest* core; exit 1
  232. fi
  233. ln_to_echo checking that C++ compiler can compile very simple C++ program
  234. cat <<EOF > conftest.cc
  235.  
  236. extern "C" { void exit(int); }
  237. int main() { exit(0); }
  238.  
  239. EOF
  240. rm -f conftest
  241. eval $cc_compile
  242. if test -s conftest && (./conftest) 2>/dev/null; then
  243.   :
  244. else
  245.   cat <<EOM
  246. $CCC was unable successfully to compile a very simple C++ program
  247. (the C++ program was in a file with a suffix of .cc)
  248. EOM
  249. rm -f conftest* core; exit 1
  250.  
  251. fi
  252. rm -f conftest*
  253. ln_to_echo checking that C++ static constructors and destructors are called
  254. cat <<EOF > conftest.cc
  255.  
  256. extern "C" {
  257.   void exit(int);
  258.   void _exit(int);
  259. }
  260. int i;
  261. struct A {
  262.   char dummy;
  263.   A() { i = 1; }
  264.   ~A() { if (i == 1) _exit(0); }
  265. };
  266. A a;
  267. main() { exit(1); }
  268.  
  269. EOF
  270. rm -f conftest
  271. eval $cc_compile
  272. if test -s conftest && (./conftest) 2>/dev/null; then
  273.   :
  274. else
  275.   cat <<EOM
  276. $CCC is not installed correctly: static constructors and destructors do not work
  277. EOM
  278. rm -f conftest* core; exit 1
  279.  
  280. fi
  281. rm -f conftest*
  282. ln_to_echo checking for C++ header files
  283. cat <<EOF >conftest.cc
  284. #include <stdio.h>
  285. extern "C" { void exit(int); }
  286. int main() { exit(0); } void t() { fopen(0, 0); }
  287. EOF
  288. if eval $cc_compile; then
  289.   :
  290. else
  291.   cat <<\EOF
  292. Your header files do not appear to support C++.
  293. I was unable to compile and link a simple C++ program that used a function
  294. declared in <stdio.h>.
  295. If you're using gcc/g++, you should install libg++.
  296. EOF
  297. rm -f conftest* core; exit 1
  298. fi
  299. rm -f conftest*
  300. if test "$CCC" = gcc; then CCC="gcc -O"; fi
  301. if test "$CCC" = "g++"; then CCC="g++ -O"; fi
  302. if test -z "$PSPRINT"
  303. then
  304.     for p in lpr
  305. do
  306. if test -z "$LPR"; then
  307.   ln_to_echo checking for $p
  308.   saveifs="$IFS"; IFS="${IFS}:"
  309.   for dir in $PATH; do
  310.     test -z "$dir" && dir=.
  311.     if test -f $dir/$p; then
  312.       LPR="$p"
  313.       break
  314.     fi
  315.   done
  316.   IFS="$saveifs"
  317. fi
  318. test -z "$LPR" && LPR=""
  319.  
  320. test -n "$LPR" && break
  321. done
  322.  
  323.     for p in lp
  324. do
  325. if test -z "$LP"; then
  326.   ln_to_echo checking for $p
  327.   saveifs="$IFS"; IFS="${IFS}:"
  328.   for dir in $PATH; do
  329.     test -z "$dir" && dir=.
  330.     if test -f $dir/$p; then
  331.       LP="$p"
  332.       break
  333.     fi
  334.   done
  335.   IFS="$saveifs"
  336. fi
  337. test -z "$LP" && LP=""
  338.  
  339. test -n "$LP" && break
  340. done
  341.  
  342.     if test -n "$LPR" && test -n "$LP"
  343.     then
  344.         # HP-UX provides an lpr command that emulates lpr using lp,
  345.         # but it doesn't have lpq; in this case we want to use lp
  346.         # rather than lpr.
  347.         for p in lpq
  348. do
  349. if test -z "$LPQ"; then
  350.   ln_to_echo checking for $p
  351.   saveifs="$IFS"; IFS="${IFS}:"
  352.   for dir in $PATH; do
  353.     test -z "$dir" && dir=.
  354.     if test -f $dir/$p; then
  355.       LPQ="$p"
  356.       break
  357.     fi
  358.   done
  359.   IFS="$saveifs"
  360. fi
  361. test -z "$LPQ" && LPQ=""
  362.  
  363. test -n "$LPQ" && break
  364. done
  365.  
  366.         test -n "$LPQ" || LPR=
  367.     fi
  368.     if test -n "$LPR"
  369.     then
  370.         PSPRINT="$LPR"
  371.     elif test -n "$LP"
  372.     then
  373.         PSPRINT="$LP"
  374.     fi
  375. fi
  376.  
  377. # Figure out DVIPRINT from PSPRINT.
  378. if test -n "$PSPRINT" && test -z "$DVIPRINT"
  379. then
  380.     if test "X$PSPRINT" = "Xlpr"
  381.     then
  382.         DVIPRINT="lpr -d"
  383.     else
  384.         DVIPRINT="$PSPRINT"
  385.     fi
  386. fi
  387.  
  388. ln_to_echo checking for perl
  389. PERLPATH=
  390. saveifs="$IFS"; IFS="${IFS}:"
  391. for dir in $PATH; do
  392.   test -z "$dir" && dir=.
  393.   if test -f $dir/perl; then
  394.      PERLPATH="$dir/perl"
  395.      break
  396.   fi
  397. done
  398. IFS="$saveifs"
  399.  
  400. if test -z "$YACC"; then
  401.   ln_to_echo checking for bison
  402.   saveifs="$IFS"; IFS="${IFS}:"
  403.   for dir in $PATH; do
  404.     test -z "$dir" && dir=.
  405.     if test -f $dir/bison; then
  406.       YACC="bison -y"
  407.       break
  408.     fi
  409.   done
  410.   IFS="$saveifs"
  411. fi
  412. test -z "$YACC" && YACC=""
  413.  
  414. if test -z "$YACC"; then
  415.   ln_to_echo checking for byacc
  416.   saveifs="$IFS"; IFS="${IFS}:"
  417.   for dir in $PATH; do
  418.     test -z "$dir" && dir=.
  419.     if test -f $dir/byacc; then
  420.       YACC="byacc"
  421.       break
  422.     fi
  423.   done
  424.   IFS="$saveifs"
  425. fi
  426. test -z "$YACC" && YACC="yacc"
  427.  
  428.  
  429. if test -z "$RANLIB"; then
  430.   ln_to_echo checking for ranlib
  431.   saveifs="$IFS"; IFS="${IFS}:"
  432.   for dir in $PATH; do
  433.     test -z "$dir" && dir=.
  434.     if test -f $dir/ranlib; then
  435.       RANLIB="ranlib"
  436.       break
  437.     fi
  438.   done
  439.   IFS="$saveifs"
  440. fi
  441. test -z "$RANLIB" && RANLIB="@:"
  442.  
  443. # Make sure to not get the incompatible SysV /etc/install and
  444. # /usr/sbin/install, which might be in PATH before a BSD-like install,
  445. # or the SunOS /usr/etc/install directory, or the AIX /bin/install,
  446. # or the AFS install, which mishandles nonexistent args.  (Sigh.)
  447. if test -z "$INSTALL"; then
  448.   ln_to_echo checking for install
  449.   saveifs="$IFS"; IFS="${IFS}:"
  450.   for dir in $PATH; do
  451.     test -z "$dir" && dir=.
  452.     case $dir in
  453.     /etc|/usr/sbin|/usr/etc|/usr/afsws/bin) ;;
  454.     *)
  455.       if test -f $dir/install; then
  456.     if grep dspmsg $dir/install >/dev/null 2>&1; then
  457.       : # AIX
  458.     else
  459.       INSTALL="$dir/install -c"
  460.       INSTALL_PROGRAM='$(INSTALL)'
  461.       INSTALL_DATA='$(INSTALL) -m 644'
  462.       break
  463.     fi
  464.       fi
  465.       ;;
  466.     esac
  467.   done
  468.   IFS="$saveifs"
  469. fi
  470. INSTALL=${INSTALL-cp}
  471. INSTALL_PROGRAM=${INSTALL_PROGRAM-'$(INSTALL)'}
  472. INSTALL_DATA=${INSTALL_DATA-'$(INSTALL)'}
  473.  
  474. ln_to_echo checking for ln -s
  475. rm -f conftestdata
  476. if ln -s X conftestdata 2>/dev/null
  477. then
  478.   rm -f conftestdata
  479.   LN_S="ln -s"
  480. else
  481.   LN_S=ln
  482. fi
  483.  
  484.  
  485. ln_to_echo checking for etags C++ option
  486. for flag in p C
  487. do
  488.     test -z "$ETAGSCCFLAG" || break
  489.     >conftest.c
  490.     (etags -$flag -o /dev/null conftest.c >/dev/null 2>&1) 2>/dev/null &&
  491.         ETAGSCCFLAG="-$flag"
  492.     rm -f conftest.c
  493. done
  494.  
  495. ln_to_echo checking for unistd.h
  496. ln_to_echo checking how to run the C preprocessor
  497. if test -z "$CPP"; then
  498.   CPP='${CC-cc} -E'
  499.   cat > conftest.c <<EOF
  500. #include <stdio.h>
  501. EOF
  502. err= ; eval "$CPP $DEFS conftest.c 2>&1 >/dev/null" ; [ $? -ne 0 ] && err=X
  503. if test -z "$err"; then
  504.   :
  505. else
  506.   CPP=/lib/cpp
  507. fi
  508. rm -f conftest*
  509. fi
  510.  
  511. cat > conftest.c <<EOF
  512. #include <unistd.h>
  513. EOF
  514. err= ; eval "$CPP $DEFS conftest.c 2>&1 >/dev/null" ; [ $? -ne 0 ] && err=X
  515. if test -z "$err"; then
  516.   DEFS="$DEFS -DHAVE_UNISTD_H=1"
  517. fi
  518. rm -f conftest*
  519.  
  520. for hdr in dirent.h limits.h sys/dir.h stdlib.h
  521. do
  522. trhdr=HAVE_`ln_to_echo $hdr | tr '[a-z]./' '[A-Z]__'`
  523. ln_to_echo checking for ${hdr}
  524. cat > conftest.c <<EOF
  525. #include <${hdr}>
  526. EOF
  527. err= ; eval "$CPP $DEFS conftest.c 2>&1 >/dev/null" ; [ $? -ne 0 ] && err=X
  528. if test -z "$err"; then
  529.   DEFS="$DEFS -D${trhdr}=1"
  530. fi
  531. rm -f conftest*
  532. done
  533.  
  534. ln_to_echo checking for 'C++ <limits.h>'
  535. cat <<EOF >conftest.cc
  536. #include <limits.h>
  537. extern "C" { void exit(int); }
  538. int main() { exit(0); } void t() { int x = INT_MIN; int y = INT_MAX; int z = UCHAR_MAX; }
  539. EOF
  540. if eval $cc_compile; then
  541.   DEFS="$DEFS -DHAVE_CC_LIMITS_H=1"
  542. fi
  543. rm -f conftest*
  544. ln_to_echo checking for 'C++ <unistd.h>'
  545. cat <<EOF >conftest.cc
  546. #include <unistd.h>
  547. extern "C" { void exit(int); }
  548. int main() { exit(0); } void t() { read(0, 0, 0); }
  549. EOF
  550. if eval $cc_compile; then
  551.   DEFS="$DEFS -DHAVE_CC_UNISTD_H=1"
  552. fi
  553. rm -f conftest*
  554. ln_to_echo checking for declaration of getopt in stdlib.h
  555. cat <<EOF >conftest.cc
  556. #include <stdlib.h>
  557. extern "C" { void exit(int); }
  558. int main() { exit(0); } void t() { int opt = getopt(0, 0, 0); optarg = "foo"; optind = 1; }
  559. EOF
  560. if eval $cc_compile; then
  561.   DEFS="$DEFS -DSTDLIB_H_DECLARES_GETOPT=1"
  562. fi
  563. rm -f conftest*
  564. ln_to_echo checking for declaration of getopt in unistd.h
  565. cat <<EOF >conftest.cc
  566. #include <sys/types.h>
  567. #include <unistd.h>
  568. extern "C" { void exit(int); }
  569. int main() { exit(0); } void t() { int opt = getopt(0, 0, 0); optarg = "foo"; optind = 1; }
  570. EOF
  571. if eval $cc_compile; then
  572.   DEFS="$DEFS -DUNISTD_H_DECLARES_GETOPT=1"
  573. fi
  574. rm -f conftest*
  575.  
  576. ln_to_echo checking for declaration of putenv
  577. cat <<EOF >conftest.cc
  578. #include <stdlib.h>
  579. extern "C" { void exit(int); }
  580. int main() { exit(0); } void t() { putenv((char *)0); }
  581. EOF
  582. if eval $cc_compile; then
  583.   DEFS="$DEFS -DSTDLIB_H_DECLARES_PUTENV=1"
  584. fi
  585. rm -f conftest*
  586. ln_to_echo checking for time_t
  587. cat <<EOF >conftest.cc
  588. #include <time.h>
  589. extern "C" { void exit(int); }
  590. int main() { exit(0); } void t() { time_t t = time(0); struct tm *p = localtime(&t); }
  591. EOF
  592. if eval $cc_compile; then
  593.   :
  594. else
  595.   DEFS="$DEFS -DLONG_FOR_TIME_T=1"
  596. fi
  597. rm -f conftest*
  598. ln_to_echo checking for return type of signal handlers
  599. cat > conftest.c <<EOF
  600. #include <sys/types.h>
  601. #include <signal.h>
  602. #ifdef signal
  603. #undef signal
  604. #endif
  605. extern void (*signal ()) ();
  606. main() { exit(0); } 
  607. t() { int i; }
  608. EOF
  609. if eval $compile; then
  610.   DEFS="$DEFS -DRETSIGTYPE=void"
  611. else
  612.   DEFS="$DEFS -DRETSIGTYPE=int"
  613. fi
  614. rm -f conftest*
  615.  
  616.  
  617. ln_to_echo checking for struct exception
  618. cat > conftest.c <<EOF
  619. #include <math.h>
  620. main() { exit(0); } 
  621. t() { struct exception e; }
  622. EOF
  623. if eval $compile; then
  624.   DEFS="$DEFS -DHAVE_STRUCT_EXCEPTION=1"
  625. fi
  626. rm -f conftest*
  627.  
  628. ln_to_echo checking for mmap
  629. cat > conftest.c <<EOF
  630. #include <sys/types.h>
  631. #include <sys/mman.h>
  632. main() { exit(0); } 
  633. t() { char *p = mmap(0, 0, PROT_READ, MAP_PRIVATE, 0, 0); munmap(p, 0); }
  634. EOF
  635. if eval $compile; then
  636.   DEFS="$DEFS -DHAVE_MMAP=1"
  637. fi
  638. rm -f conftest*
  639.  
  640. ln_to_echo checking for vfork.h
  641. cat > conftest.c <<EOF
  642. #include <vfork.h>
  643. EOF
  644. err= ; eval "$CPP $DEFS conftest.c 2>&1 >/dev/null" ; [ $? -ne 0 ] && err=X
  645. if test -z "$err"; then
  646.   DEFS="$DEFS -DHAVE_VFORK_H=1"
  647. fi
  648. rm -f conftest*
  649.  
  650. ln_to_echo checking for working vfork
  651. cat > conftest.c <<EOF
  652. /* Thanks to Paul Eggert for this test.  */
  653. #include <stdio.h>
  654. #include <sys/types.h>
  655. #include <sys/stat.h>
  656. #ifdef HAVE_UNISTD_H
  657. #include <unistd.h>
  658. #endif
  659. #ifdef HAVE_VFORK_H
  660. #include <vfork.h>
  661. #endif
  662. main() {
  663.   pid_t parent = getpid();
  664.   pid_t child = vfork();
  665.  
  666.   if (child == 0) {
  667.     /* On sparc systems, changes by the child to local and incoming
  668.        argument registers are propagated back to the parent.
  669.        The compiler is told about this with #include <vfork.h>,
  670.        but some compilers (e.g. gcc -O) don't grok <vfork.h>.
  671.        Test for this by using lots of local variables, at least
  672.        as many local variables as main has allocated so far
  673.        including compiler temporaries.  4 locals are enough for
  674.        gcc 1.40.3 on a sparc, but we use 8 to be safe.
  675.        A buggy compiler should reuse the register of parent
  676.        for one of the local variables, since it will think that
  677.        parent can't possibly be used any more in this routine.
  678.        Assigning to the local variable will thus munge parent
  679.        in the parent process.  */
  680.     pid_t
  681.       p = getpid(), p1 = getpid(), p2 = getpid(), p3 = getpid(),
  682.       p4 = getpid(), p5 = getpid(), p6 = getpid(), p7 = getpid();
  683.     /* Convince the compiler that p..p7 are live; otherwise, it might
  684.        use the same hardware register for all 8 local variables.  */
  685.     if (p != p1 || p != p2 || p != p3 || p != p4
  686.     || p != p5 || p != p6 || p != p7)
  687.       _exit(1);
  688.  
  689.     /* On some systems (e.g. IRIX 3.3),
  690.        vfork doesn't separate parent from child file descriptors.
  691.        If the child closes a descriptor before it execs or exits,
  692.        this munges the parent's descriptor as well.
  693.        Test for this by closing stdout in the child.  */
  694.     _exit(close(fileno(stdout)) != 0);
  695.   } else {
  696.     int status;
  697.     struct stat st;
  698.  
  699.     while (wait(&status) != child)
  700.       ;
  701.     exit(
  702.      /* Was there some problem with vforking?  */
  703.      child < 0
  704.  
  705.      /* Did the child fail?  (This shouldn't happen.)  */
  706.      || status
  707.  
  708.      /* Did the vfork/compiler bug occur?  */
  709.      || parent != getpid()
  710.  
  711.      /* Did the file descriptor bug occur?  */
  712.      || fstat(fileno(stdout), &st) != 0
  713.      );
  714.   }
  715. }
  716. EOF
  717. eval $compile
  718. if test -s conftest && (./conftest; exit) 2>/dev/null; then
  719.   :
  720. else
  721.   DEFS="$DEFS -Dvfork=fork"
  722. fi
  723. rm -f conftest*
  724.  
  725. saved_libs="$LIBS"
  726. LIBS="$LIBS -lm"
  727. for func in fmod strtol getcwd strerror putenv
  728. do
  729. ln_to_echo checking for ${func}
  730. cat > conftest.c <<EOF
  731.  
  732. main() { exit(0); } 
  733. t() { 
  734. /* Override any gcc2 internal prototype to avoid an error.  */
  735. extern char ${func}(); ${func}(); }
  736. EOF
  737. if eval $compile; then
  738.   :
  739. else
  740.   LIBOBJS="$LIBOBJS ${func}.o"
  741. fi
  742. rm -f conftest*
  743.  
  744. done
  745.  
  746. LIBS="$saved_libs"
  747. for func in rename mkstemp
  748. do
  749. trfunc=HAVE_`ln_to_echo $func | tr '[a-z]' '[A-Z]'`
  750. ln_to_echo checking for ${func}
  751. cat > conftest.c <<EOF
  752. #include <stdio.h>
  753. main() { exit(0); } 
  754. t() { 
  755. #ifdef __stub_${func}
  756. choke me
  757. #else
  758. /* Override any gcc2 internal prototype to avoid an error.  */
  759. extern char ${func}(); ${func}();
  760. #endif
  761.  }
  762. EOF
  763. if eval $compile; then
  764.   DEFS="$DEFS -D${trfunc}=1"
  765. fi
  766. rm -f conftest*
  767. #endif
  768. done
  769.  
  770. ln_to_echo checking for sys_siglist
  771. cat > conftest.c <<EOF
  772.  
  773. main() { exit(0); } 
  774. t() { [extern char *sys_siglist[]; sys_siglist[0] = 0;] }
  775. EOF
  776. if eval $compile; then
  777.   DEFS="$DEFS -DHAVE_SYS_SIGLIST=1"
  778. fi
  779. rm -f conftest*
  780.  
  781. ln_to_echo checking for gcc/g++ delete bug
  782. cat <<EOF > conftest.cc
  783.  
  784. #include <stdlib.h>
  785. #include <stddef.h>
  786.  
  787. int testit = 0;
  788.  
  789. int main()
  790. {
  791.   testit = 1;
  792.   int *p = new int;
  793.   delete p;
  794.   testit = 0;
  795.   exit(1);
  796. }
  797.  
  798. static unsigned dummy[3];
  799.  
  800. void *operator new(size_t n)
  801. {
  802.   if (testit) {
  803.     dummy[1] = -(unsigned)(dummy + 2);
  804.     return dummy + 2;
  805.   }
  806.   else
  807.     return (void *)malloc(n);
  808. }
  809.  
  810. void operator delete(void *p)
  811. {
  812.   if (testit) {
  813.     if (p == dummy)
  814.       exit(0);
  815.   }
  816.   else
  817.     free(p);
  818. }
  819.  
  820. EOF
  821. rm -f conftest
  822. eval $cc_compile
  823. if test -s conftest && (./conftest) 2>/dev/null; then
  824.   DEFS="$DEFS -DCOOKIE_BUG=1"
  825. fi
  826. rm -f conftest*
  827. ln_to_echo checking for cfront ANSI C INT_MIN bug
  828. cat <<EOF > conftest.cc
  829. #include <stdlib.h>
  830. #ifdef HAVE_CC_LIMITS_H
  831. #include <limits.h>
  832. #else
  833. #define INT_MAX 2147483647
  834. #endif
  835.  
  836. #undef INT_MIN
  837. #define INT_MIN (-INT_MAX-1)
  838.  
  839. int main()
  840. {
  841.   int z = 0;
  842.   exit(INT_MIN < z);
  843. }
  844.  
  845. EOF
  846. rm -f conftest
  847. eval $cc_compile
  848. if test -s conftest && (./conftest) 2>/dev/null; then
  849.   DEFS="$DEFS -DCFRONT_ANSI_BUG=1"
  850. fi
  851. rm -f conftest*
  852. ln_to_echo checking for new array delete syntax
  853. cat <<EOF >conftest.cc
  854.  
  855. extern "C" { void exit(int); }
  856. int main() { exit(0); } void t() { char *p = new char[5]; delete [] p;
  857.  }
  858. EOF
  859. if eval $cc_compile; then
  860.   :
  861. else
  862.   DEFS="$DEFS -DARRAY_DELETE_NEEDS_SIZE=1"
  863. fi
  864. rm -f conftest*
  865. ln_to_echo checking for traditional preprocessor
  866. cat <<EOF >conftest.cc
  867. #define name2(a,b) a/**/b
  868. extern "C" { void exit(int); }
  869. int main() { exit(0); } void t() { int name2(foo,bar); }
  870. EOF
  871. if eval $cc_compile; then
  872.   DEFS="$DEFS -DTRADITIONAL_CPP=1"
  873. fi
  874. rm -f conftest*
  875. ln_to_echo checking for w_coredump
  876. cat > conftest.c <<EOF
  877.  
  878. #include <sys/types.h>
  879. #include <sys/wait.h>
  880. main()
  881. {
  882. #ifdef WCOREFLAG
  883.   exit(1);
  884. #else
  885.   int i = 0;
  886.   ((union wait *)&i)->w_coredump = 1;
  887.   exit(i != 0200);
  888. #endif
  889. }
  890.  
  891. EOF
  892. eval $compile
  893. if test -s conftest && (./conftest; exit) 2>/dev/null; then
  894.   DEFS="$DEFS -DWCOREFLAG=0200"
  895. fi
  896. rm -f conftest*
  897. test -n "${BROKEN_SPOOLER_FLAGS}" || BROKEN_SPOOLER_FLAGS=7
  898. ln_to_echo using default value of ${BROKEN_SPOOLER_FLAGS} for grops -b option
  899.  
  900.  
  901. if test -z "$PAGE" && test -r $prefix/lib/groff/font/devps/DESC
  902. then
  903.     if grep "^paperlength 841890" \
  904.         $prefix/lib/groff/font/devps/DESC >/dev/null 2>&1
  905.     then
  906.         PAGE=A4
  907.     else
  908.         PAGE=letter
  909.     fi
  910. fi
  911. if test -z "$PAGE"
  912. then
  913.     dom=`awk '($1 == "dom" || $1 == "search") { print $2; exit}' \
  914.         /etc/resolv.conf 2>/dev/null`
  915.  
  916.     if test -z "$dom"
  917.     then
  918.         dom=`(domainname) 2>/dev/null | tr -d '+'`
  919.         if test -z "$dom"
  920.         then
  921.             dom=`(hostname) 2>/dev/null | grep '\.'`
  922.         fi
  923.     fi
  924.  
  925.     # If the top-level domain is two letters and it's not `us' or `ca'
  926.     # then they probably use A4 paper.
  927.     case "$dom" in
  928.     *.[Uu][Ss]|*.[Cc][Aa]) ;;
  929.     *.[A-Za-z][A-Za-z]) PAGE=A4 ;;
  930.     esac
  931. fi
  932. test -n "$PAGE" || PAGE=letter
  933. ln_to_echo guessing $PAGE size paper
  934.  
  935. if test -n "$prefix"; then
  936.   test -z "$exec_prefix" && exec_prefix='${prefix}'
  937.   prsub="s%^prefix\\([     ]*\\)=\\([     ]*\\).*$%prefix\\1=\\2$prefix%"
  938. fi
  939. if test -n "$exec_prefix"; then
  940.   prsub="$prsub
  941. s%^exec_prefix\\([     ]*\\)=\\([     ]*\\).*$%\
  942. exec_prefix\\1=\\2$exec_prefix%"
  943. fi
  944.  
  945. trap 'rm -f config.status; exit 1' 1 3 15
  946. ln_to_echo creating config.status
  947. rm -f config.status
  948. cat > config.status <<EOF
  949. #!/bin/sh
  950. # Generated automatically by configure.
  951. # Run this file to recreate the current configuration.
  952. # This directory was configured as follows,
  953. # on host `(hostname || uname -n) 2>/dev/null`:
  954. #
  955. # $0 $*
  956.  
  957. for arg
  958. do
  959.   case "\$arg" in
  960.     -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
  961.     exec /bin/sh $0 $* ;;
  962.     *) ln_to_echo "Usage: config.status --recheck" 2>&1; exit 1 ;;
  963.   esac
  964. done
  965.  
  966. trap 'rm -f Makefile; exit 1' 1 3 15
  967. CC='$CC'
  968. CCLIBS='$CCLIBS'
  969. CCC='$CCC'
  970. LPR='$LPR'
  971. LP='$LP'
  972. LPQ='$LPQ'
  973. PSPRINT='$PSPRINT'
  974. DVIPRINT='$DVIPRINT'
  975. PERLPATH='$PERLPATH'
  976. YACC='$YACC'
  977. RANLIB='$RANLIB'
  978. INSTALL='$INSTALL'
  979. INSTALL_PROGRAM='$INSTALL_PROGRAM'
  980. INSTALL_DATA='$INSTALL_DATA'
  981. LN_S='$LN_S'
  982. ETAGSCCFLAG='$ETAGSCCFLAG'
  983. CPP='$CPP'
  984. LIBOBJS='$LIBOBJS'
  985. BROKEN_SPOOLER_FLAGS='$BROKEN_SPOOLER_FLAGS'
  986. PAGE='$PAGE'
  987. LIBS='$LIBS'
  988. srcdir='$srcdir'
  989. DEFS='$DEFS'
  990. prefix='$prefix'
  991. exec_prefix='$exec_prefix'
  992. prsub='$prsub'
  993. EOF
  994. cat >> config.status <<\EOF
  995.  
  996. top_srcdir=$srcdir
  997. for file in .. Makefile; do if [ "x$file" != "x.." ]; then
  998.   srcdir=$top_srcdir
  999.   # Remove last slash and all that follows it.  Not all systems have dirname.
  1000.   dir=`ln_to_echo $file|sed 's%/[^/][^/]*$%%'`
  1001.   if test "$dir" != "$file"; then
  1002.     test "$top_srcdir" != . && srcdir=$top_srcdir/$dir
  1003.     test ! -d $dir && mkdir $dir
  1004.   fi
  1005.   ln_to_echo creating $file
  1006.   rm -f $file
  1007.   ln_to_echo "# Generated automatically from `ln_to_echo $file|sed 's|.*/||'`.in by configure." > $file
  1008.   sed -e "
  1009. $prsub
  1010. s%@CC@%$CC%g
  1011. s%@CCLIBS@%$CCLIBS%g
  1012. s%@CCC@%$CCC%g
  1013. s%@LPR@%$LPR%g
  1014. s%@LP@%$LP%g
  1015. s%@LPQ@%$LPQ%g
  1016. s%@PSPRINT@%$PSPRINT%g
  1017. s%@DVIPRINT@%$DVIPRINT%g
  1018. s%@PERLPATH@%$PERLPATH%g
  1019. s%@YACC@%$YACC%g
  1020. s%@RANLIB@%$RANLIB%g
  1021. s%@INSTALL@%$INSTALL%g
  1022. s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
  1023. s%@INSTALL_DATA@%$INSTALL_DATA%g
  1024. s%@LN_S@%$LN_S%g
  1025. s%@ETAGSCCFLAG@%$ETAGSCCFLAG%g
  1026. s%@CPP@%$CPP%g
  1027. s%@LIBOBJS@%$LIBOBJS%g
  1028. s%@BROKEN_SPOOLER_FLAGS@%$BROKEN_SPOOLER_FLAGS%g
  1029. s%@PAGE@%$PAGE%g
  1030. s%@LIBS@%$LIBS%g
  1031. s%@srcdir@%$srcdir%g
  1032. s%@DEFS@%$DEFS%
  1033. " $top_srcdir/${file}.in >> $file
  1034. fi; done
  1035.  
  1036. EOF
  1037. chmod +x config.status
  1038. test -n "$no_create" || ./config.status
  1039.  
  1040.